import useI18n from '@/i18n'

const i18n = useI18n.global

export default {
  // 高度
  height: {
    type: [String, Number],
    default: 'auto'
  },

  // 最大高度
  maxHeight: {
    type: [String, Number],
    default() {
      return 'auto'
    }
  },

  // 列最小宽度
  minWidth: {
    type: [Number, String]
  },

  // 是否展示序号
  showIndexColumn: {
    type: Boolean,
    default: false
  },

  // 序列宽
  sequenceWidth: {
    type: [String, Number],
    default() {
      return 50
    }
  },

  // 是否单选多选 CHECKBOX RADIO
  selectColumnType: {
    type: String,
    default: ''
  },

  // 是否允许导出
  isExport: {
    default() {
      return false
    }
  },

  // 表格字段
  propList: {
    type: Array,
    required: true
  },

  // 子级参数
  childrenProps: {
    type: Object,
    default: () => ({})
  },

  // 展示页脚
  showFooter: {
    type: Boolean,
    default: true
  },

  // 单元格样式
  cellStyle: {
    default() {
      return {
        minHeight: '65px',
        height: '65px',
        padding: 0,
        borderBottom: '0',
        color: '#374557 !important'
      }
    }
  },

  // 表头单元格样式
  headerCellStyle: {
    default() {
      return {
        fontWeight: 800,
        color: 'var(--el-card-header-text-color)',
        backgroundColor: 'var(--el-card-header-bg-color)',
        borderTop: 0,
        borderBottom: 0,
        textAlign: 'center',
        padding: 0,
        'font-size': '14px',
        height: '60px'
      }
    }
  },

  // 禁止选中行集合
  disableIds: {
    type: Array,
    default() {
      return []
    }
  },

  // 查询接口配置
  reqRequest: {
    type: Object,
    default() {
      return {
        url: '',
        methods: 'get'
      }
    }
  },

  // 查询接口传入参数
  propsSearchForm: {
    type: Object,
    default() {
      return {}
    }
  },

  // 对表格数据结果进行处理
  handleData: {
    type: Function,
    default: (data, total) => {
      return {
        list: data,
        count: total
      }
    }
  },

  // 是否初始化查询
  initialize: {
    type: Boolean,
    default() {
      return true
    }
  },

  // 表格主键字段
  selectKey: {
    type: String,
    default() {
      return 'id'
    }
  },

  // 是否有操作字段插槽
  operateFlag: {
    type: Boolean,
    default() {
      return false
    }
  },

  // 操作列的标题
  operateLabel: {
    type: String,
    default: i18n.t('customTable.props.401190-0')
  },

  // 操作列的宽
  operateWidth: {
    type: Number,
    default() {
      return 150
    }
  },

  // 树状传值
  treeProps: {
    type: Object,
    default() {
      return {}
    }
  },

  // 分页器配置
  pagLayout: {
    type: String,
    default: 'total, sizes, prev, pager, next, jumper'
  },

  // 展开行配置
  expendConfig: {
    type: Object,
    default: () => ({
      visible: false,
      collapse: true, // 展开行是否手风琴
      expendFun: () => {
        return true
      }
    })
  },

  // 默认选中数据
  defaultCheckList: {
    type: [Array, String, Number]
  }
}
